Update Logback smoke tests to use new assertion framework #4320
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR updates the Logback smoke tests to use the new assertion framework introduced in #4141, extending the framework as needed to support message and exception assertions.
Changes Made
Extended the assertion framework
Added
MessageAssertclass for fluent assertions onMessageDataobjects with methods like:hasMessage(),hasSeverityLevel(),hasProperty(),containsProperty(),hasPropertiesSize()hasParent(),hasNoParent(),hasTag(),hasNoSampleRate(),hasSampleRate()Added
ExceptionAssertclass for fluent assertions onExceptionDataobjects with methods like:hasExceptionTypeName(),hasExceptionMessage(),hasSeverityLevel(),hasProperty()hasEmptyProperties(),hasParent(),hasNoParent(),hasTag(),hasNoSampleRate()Enhanced
TraceAssertwith new methods:hasMessageSatisying()andhasExceptionSatisying()for asserting on messages and exceptions in traceshasMessageCount()andhasExceptionCount()for count assertionsUpdated Logback smoke tests
Converted all three Logback test files to use the new
waitAndAssertTrace()method:LogbackTest.java: Updated bothtest()andtestWithException()methodsLogbackLevelOffTest.java: Updated both test methodsLogbackDisabledTest.java: Updated both test methodsThe tests now use fluent assertions instead of manual
waitForItems()calls and individual AssertJ assertions.Before/After Example
Before:
After:
Testing
./gradlew spotlessApplyThe new assertion framework makes the tests more readable and maintainable while providing better error messages when assertions fail.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.